function eco=fakeEco(pulso,pitch,d,c,fs)

%Función que genera el eco esperado para el pulso dado, rebotando en una
%superficie plana a distancia d, viajando a velocidad c.
%Usa el mismo número de sensores y frecuencia de muestreo en la recepción.

N=size(pulso,2);%Número de sensores
lengthPulso=size(pulso,1);

%Inicializo respuestas para cada sensor
Xrange=0.05;
M=200;
dX=Xrange/(M+1);
x0=(N*pitch-Xrange)/2;
maxDelay=ceil(fs*sqrt((N*pitch+1000*dX)^2+d^2)/c);
maxLength=2^ceil(log(lengthPulso+maxDelay)/log(2));
eco=zeros(maxLength,N);
pulso_ext=zeros(maxLength,N);
pulso_ext(1:lengthPulso,:)=pulso;

for x=(x0+[0:M]*dX)
    %Calculo propagación del pulso hasta (x,z=d)
    pulso_en_llegada=propagacion(pulso_ext,x,d,c,pitch,fs);
    for i=1:N
        %Calculo como se propaga de ahí hasta el sensor i-esimo y lo agrego
        %en la respuesta
        nuevoAporte=zeros(maxLength,1);
        T=sqrt(d^2+(x-pitch*(i-1))^2)/c;
        nuevoPulso=ifft(delayFFT(fft(pulso_en_llegada),T,fs))/(T*c);
        eco(:,i)=eco(:,i)+nuevoPulso;
    end
end
eco=eco((lengthPulso+1):end,:); %OJO